class python example

35

class Person:
    # class static variable
    person_type = "Human"

    # class constructor
    def __init__(self, first_name, last_name, age):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age

    # initialized class method
    def get_full_name(self):
        return f"{self.first_name} {self.last_name}"

    # initialized class method
    def introduce(self):
        return f"Hi. I'm {self.first_name} {self.last_name}. I'm {self.age} years old."

    # class static method
    @staticmethod
    def class_name(self):
        return 'Person'

    # class method
    @classmethod
    def create_anonymous(cls):
        return Person('John', 'Doe', 25)

    # dunder method - return class as a string when typecast to a string
    def __str__(self):
        return f"str firstname: {self.first_name} lastname: {self.last_name} age: {self.age}"

    # dunder method - return class a string then typecast to representative
    def __repr__(self):
        return f"repr firstname: {self.first_name} lastname: {self.last_name} age: {self.age}"

    # dunder method - return sum of ages when using the + operator on two Person classes
    def __add__(self, other):
        return self.age + other.age


# create a person class
bob = Person(first_name="John", last_name="Doe", age=41)

# print static method
print(Person.class_name(Person))

# print new class person
print(Person.create_anonymous().get_full_name())

# print class static method
print(Person.person_type)

# print string representation of class
print(bob)

# print representation of class
print(repr(bob))

# add Person classes ages using dunder method
print(bob + bob)

Comments

Submit
0 Comments